home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
tmkffs17.zip
/
MANUAL.DOC
next >
Wrap
Text File
|
1991-10-21
|
56KB
|
1,981 lines
TMakeFFSTMakeFFS
"Turbo Make Fast File System" "Turbo Make Fast File System"
version 1.07version 1.07
CPCUG Authorization PendingCPCUG Authorization Pending
JONCO Systems and Software
P.O. Box 823073
Dallas, Tx. 75382
(C) Copyright 1991, JONCO Systems and Software
ContentsContents
License Agreement and Limited Warranty 1
License Agreement . . . . . . . . . . . . . . . . . . . 1
Limited Warranty and Disclaimer of Liability . . . . . . 1
Registration 3
Various Levels . . . . . . . . . . . . . . . . . . . . . 3
Unregistered Evaluation . . . . . . . . . . . . . . . 3
NOT FOR PROFIT BBS . . . . . . . . . . . . . . . . . 3
Standard Noncommercial Registration . . . . . . . . . 4
Commercial Registration . . . . . . . . . . . . . . . 4
How to Register . . . . . . . . . . . . . . . . . . . . 4
Chapter 1 Introduction 5
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Performance . . . . . . . . . . . . . . . . . . . . 6
1.3 Intelligence . . . . . . . . . . . . . . . . . . . 6
1.4 Options . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Limitations . . . . . . . . . . . . . . . . . . . . 7
Chapter 2 Quick Start "QSetup.Exe" 9
2.1 For those who don't like to read Manuals . . . . . 9
Chapter 3 Option Switches 11
3.1 Environment variables . . . . . . . . . . . . . . 11
3.1.1 Video . . . . . . . . . . . . . . . . . . . 11
3.1.2 Overrides . . . . . . . . . . . . . . . . . 11
3.2 Command Line Options . . . . . . . . . . . . . . 12
3.2.1 Video, /vxxxx . . . . . . . . . . . . . . . 12
3.2.2 EMS /xNNNNN . . . . . . . . . . . . . . . . 12
3.2.3 Alternate Initialization File . . . . . . . 13
3.3 Initialization File System Section . . . . . . . 13
3.3.1 Comments and Blank Lines . . . . . . . . . . 13
3.3.2 System Section . . . . . . . . . . . . . . . 14
3.3.2.1 NOENV . . . . . . . . . . . . . . . . . 14
3.3.2.2 CAT . . . . . . . . . . . . . . . . . . 14
3.3.2.3 LIDX . . . . . . . . . . . . . . . . . 14
3.3.2.4 LOPT . . . . . . . . . . . . . . . . . 14
3.3.2.5 FIDX . . . . . . . . . . . . . . . . . 15
3.3.2.6 FIDXT . . . . . . . . . . . . . . . . . 15
3.3.2.7 FMS . . . . . . . . . . . . . . . . . . 15
3.3.2.8 OFFLN . . . . . . . . . . . . . . . . . 15
3.3.2.9 LOG . . . . . . . . . . . . . . . . . . 15
3.3.3 File Specs Section . . . . . . . . . . . . . 16
3.3.3.1 Subdirectories . . . . . . . . . . . . 16
i
3.3.3.2 Macros . . . . . . . . . . . . . . . . 16
3.3.3.3 Subdirectories w/wild-card's . . . . . 17
Chapter 4 Utilities - TMkFList 19
Appendix A EXAMPLE: TMakeFFS.INI 23
Appendix B EXAMPLE: FILE LIST 25
B.1 Macro File List . . . . . . . . . . . . . . . . . 25
B.2 File List Alternate Form of . . . . . . . . . . . 25
Appendix C Reading the Log File 27
Appendix D Error Level Exit Codes 29
ii
License Agreement and Limited Warranty License Agreement and Limited Warranty
License Agreement License Agreement
JONCO Systems and Software authorizes you to use the evaluation
version of software for a period not to exceed 21 days for evaluation
purposes. After said period of time you must either discontinue use of
said software or send your registration fee to JONCO Systems. You may
freely distribute the evaluation version of said software but you may
not charge any fee to do so, except to recover expenses of
distrabution. You may not download or transmit the registered version
of software electronicly (either by direct connection or
telecommunication transmission) from one computer to another, except as
may be specifically allowed in using software on a computer local area
network.
Limited Warranty and Disclaimer of Liability Limited Warranty and Disclaimer of Liability
JONCO warrants the physical diskette and physical documentation
distributed by JONCO (but not diskettes or documentation distributed by
any other person/company/users group) to be free of defects in material
or workmanship for a period of sixty days from the purchase date. Do
not return any product prior to contacting JONCO and obtaining a return
authorization number. the entire and exclusive liability and remedy for
breach of this Limited Warranty shall be limited to replacement of
defective diskette(s) or documentation and shall not include or extend
to any claim for or right to recover any other damages, including but
not limited to, loss of profit, data, or use of software, or special,
incidental, or consequential damages or other similar claims, even if
JONCO has been specifically advised of the possibility of such damages.
Because JONCO Systems and Software can not control the use of the
software or the environment software is used in, JONCO accepts no
liability for any loss or damage resulting for use of software. In no
event will JONCO's liability for any damages to you or any other person
ever exceed the lower of the actual license fee paid to use the
software or one dollar (US), regardless of any form of claim.
(C) Copyright 1991, JONCO Systems and Software
AcknowledgmentsAcknowledgments
I wish to thank our beta testers for all their help, feed back,
constructive criticisms, etc...
Charles Reiss
24 Hours a Day
Dallas, Tx.
(214)343-1701
(formerly known as "The 24 Hour Ticket Agency".
One of, if not the longest running 24-Hour RBBS
systems in the D/FW area!)
Rick Dale
BG Micro
Garland, Tx.
(214)278-1997 (Members only)
(214)278-3418 (New Members Welcome)
(C) Copyright 1991, JONCO Systems and Software 2
RegistrationRegistration
Various Levels Various Levels
Registration of TMakeFFS has has more than one level of
participation. All levels are provided as a SITE LICENSE AGREEMENT. So
operating multiple nodes of RBBS via a LAN or multitasking environment
is of no concern, JONCO wants to be fair to you and hopes you will
reciprocate the favor. Site license agreement authorizes you to use
TMakeFFS and its other related utilities on any number of systems only
at the location said license is issued to. You may not give away, sell,
loan or transmit electronically a registered copy of TMakeFFS in whole
or in part to any other person and/or system.
SITE LICENSES ARE NON TRANSFERABLE!!!
If for any reason you should decide not to register, please we
would like to know why? However if you should fall in love with it and
we are sure you will, we want to hear from you to!
Unregistered Evaluation Unregistered Evaluation
You may use the evaluation version of TMakeFFS for 21 days while
you evaluate it's performance, decide before you buy! The 21 day limit
may only be extended if you mail your registration fee and are
currently awaiting delivery of a registered copy or NOT-FOR-PROFIT
LICENSE AGREEMENT!
NOT FOR PROFIT BBS NOT FOR PROFIT BBS
If after the 21 day evaluation period you decide that TMakeFFS
works for you and you decide to keep it a $7 registration fee is
required. You will receive a license agreement authorizing you to
continue use of the evaluation version on your site.
NOTE: If you charge any fee of any kind for membership or access
to your board YOU ARE NOT A NOT FOR PROFIT BBS! JONCO reserves the
right to refuse sale of NOT FOR PROFIT BBS license agreements at it's
own discretion!
(C) Copyright 1991, JONCO Systems and Software 3
Standard Noncommercial Registration Standard Noncommercial Registration
[NON COMMERCIAL BBS]: If after the 21 day evaluation period you
decide that TMakeFFS works for you and you decide to keep it a $15
registration fee and $2 shipping and handling is required. At this
level of participation you will receive a 5 1/4" disk containing the
complete utility set, a registered copy of TMakeFFS.Exe with your name,
BBS name, serial number already installed and a printed (POST SCRIPT
LASER) and bound manual (JONCO will even use good quality paper)!
NOTE: If your BBS is used for/by a business for any business
function even if said function is incidental to the core business!
(i.e. Customer/Technical support for products you or your business
sells and/or distributes, Internal E-Mail systems, Order
information/taking systems etc...) YOU ARE NOT A NON COMMERCIAL BBS!
NOTE: If you require 3 1/2" disk add an additional $2. (includes both)
Commercial Registration Commercial Registration
[COMMERCIAL BBS]: If after the 21 day evaluation period you decide
that TMakeFFS works for you and you decide to keep it a $25
registration fee and $2 shipping and handling is required. You will
receive all the material described in the Standard registration
package.
NOTE: If you require 3 1/2" disk add an additional $2. (includes both)
How to Register How to Register
Due to the relatively low cost of site licenses for this utility,
SITE LICENSES ARE NOT TRANSFERABLE! Send your site license registration
fee plus $2 shipping and handling (Check or Money Order only, payable
to JONCO Systems and Software) to:
JONCO Systems and Software
P.O. Box 823073
Dallas, Tx. 75382
Please include the name of your system (BBS), your name, company
name complete address, and phone numbers (Voice, FAX, BBS# and Data if
different from BBS# number) so we may support you better in the future
should it be required, and notify you of any future enhancements in a
most timely manner.
Orders not accompanied with shipping and handling charges will not be Orders not accompanied with shipping and handling charges will not be
processed! processed!
(C) Copyright 1991, JONCO Systems and Software 4
Chapter 1Chapter 1
IntroductionIntroduction
1.1 Purpose 1.1 Purpose
At the request of a friend of mine (C. Reiss of 24 Hours a day) I
wrote this program because of problems he encountered running the
supplied utils and/or another replacement utility (written in MS-C and
occasionally trashes the systems interrupt vector table causing the
system to hang. Both of which always hung on my 286-12/0).
Specified requirements: TMakeFFS.Exe
----------------------
1) Must be FAST! Like a ROCKET!
2) Must run in DV window! Supports LIM-EMS!
3) Must be see progress msg Optionally you may turn
when run remotely, drop to BIOS CRT writes on!
DOS! (Works with Doorway)
4) Must mark files in FMS that Change space after date
are off-line! to * if off-line!
5) Must run from batch file! On error exits with
ErrorLevel > 0
Replaces MakeFFS, QSort
and MakeTabs with one
utility!
(C) Copyright 1991, JONCO Systems and Software 5
1.2 Performance 1.2 Performance
I/O buffering and record locking is done such that transfers (4K/8K)
are a factor and/or a multiple of a cluster size either bypassing DOS
buffers or simplifying the calculations required by DOS to simple
shifts as opposed to multiplication and addition required for the
record sizes defined by RBBS.
On my 286-12/0 w/28ms drives running MS-DOS 5.0, w/2048K XMS
allocated to DumbDrive (a.k.a. SmartDrive), searching 300 directory's
and 3300+ files execution time is a mere 20 seconds (19 seconds W/O
LOGFILE). One of the beta test sites reported a time of 45 seconds for
his CD-ROM drive searching 62 directory's and 15200+ files.
DON'T BLINK , YOU MIGHT MISS IT!
1.3 Intelligence 1.3 Intelligence
Assuming your FMS file is correctly formatted TMakeFFS will
automatically determine the size of FMS records (i.e. the length of the
description field) in your FMS file. TMakeFFS will also search for its
configuration file looking first in the current default
drive:\directory, then if running DOS 3.xx or higher it will look in
the directory where the program was loaded, then all DOS versions 2.xx
or higher in every directory in the DOS PATH! (This feature may be over
ridden on the command line)
1.4 Options 1.4 Options
Default options specified in the configuration file [TMakeFFS.Ini]
(see sample below) may be overridden with environment variables (i.e.
<Dos prompt>SET LIDX=Z:\LIDX.DEF)
NOTE: With registration this feature may be turned off.
(C) Copyright 1991, JONCO Systems and Software 6
1.5 Limitations 1.5 Limitations
TMakeFFS is limited only by available conventional and/or expanded
memory (LIM-EMS), the minimum contiguous free available memory required
to run TMakeFFS is 192K but will use all available memory (below 640K),
192K is enough with all options enabled for approximately 6 directories
and/or Macro File List and 3,930 files, the more directories you use
the fewer files it can handle. On the other extreme 300 directories and
10,000 files would only require approximately 452K. While 192K + 2M EMS
would allow approximately 1,300+ directories and 110,208 files!
Approximate Memory Overhead W/O EMS W/EMS
LIDX/FIDX/FMS file buffers ---------- 8K* ----------
Log file buffer ---------- 8K** ---------
Each directory/File List ---------- 72 bytes -----
Files in FIDX 24 bytes ea. 861 p/16K
* Only one of these is allocated at any particular time, allowing
them to share the same memory address. (FMS actually uses 2 buffers @
4K each, one read - one write)
** Static buffer always allocated regardless of option setting!
A future version may optionally use Extended, XMS or disk swapping
to extend its limitations to infinity, however I have no immediate
plans to do so.
Record locking is presently only supported on networks that
support the DOS Byte Level Share type calls (this includes Novell and
most if not all NetBios compatibles) again in the future this may
change!
If you require any modifications let me know, 1) If there is
sufficient interest in such modifications a future version may
incorporate them or 2) I will give appropriate consideration to a
customized version for your specific needs!
(C) Copyright 1991, JONCO Systems and Software 7
(C) Copyright 1991, JONCO Systems and Software 8
Chapter 2Chapter 2
Quick Start "QSetup.Exe"Quick Start "QSetup.Exe"
2.1 For those who don't like to read Manuals 2.1 For those who don't like to read Manuals
QSetup.Exe takes no parameters of any kind. It may cause some snow
like effect for brief moments on some older CGA's.
The utility program QSetup.Exe will attempt to create an
initialization "TMakeFFS.Ini" file for TMakeFFS based on data collected
from your system as in paths to FMS.DIR, LIDX.DEF, FIDX.DEF and of
course the TMakeFFS.Exe. In addition to the paths it will read your
LIDX file to determine what to insert in your INI file for the
FILESPECS section. To be perfectly honest QSetup.Exe is very crudely
written, in fact I'm embarrassed to admit I wrote it, but is included
to assist you in getting TMakeFFS up and running for you. I want you to
evaluate TMakeFFS, and not spend your time figuring out how to make it
work!
QSetup can not properly handle every possible configuration. Most
likely the INI file it creates will have to be edited manually! But it
should prove very useful in reducing the amount of work creating that
first INI file, and that's all it is intended for!
The INI file is a flat ASCII file any word processor in non-
document mode can be used to edit it, just keep the line lengths below
255!
(C) Copyright 1991, JONCO Systems and Software 9
(C) Copyright 1991, JONCO Systems and Software 10
Chapter 3Chapter 3
Option SwitchesOption Switches
Presently there is no switch to turn the progress display off,
Backup files off (Always renames original files Drive:\Path\Name.[BAK],
If Drive:\Path\Name.[BAK] already exist it is deleted!)
3.1 Environment variables 3.1 Environment variables
3.1.1 Video 3.1.1 Video
VIDEO=BIOS TURNS DIRECT WRITES TO VIDEO RAM OFF
program then uses BIOS ROM INT 10h
routines to write to and scroll
the screen. DEFAULT is VIDEO=FAST.
VIDEO=SNOW Required for some old CGA's turns
CGA Snow checking on.
3.1.2 Overrides 3.1.2 Overrides
LIDX=[DRIVE:][\PATH\][FILENAME][.EXT]
FIDX=[DRIVE:][\PATH\][FILENAME][.EXT]
FIDXT=[DRIVE:][\PATH\][FILENAME][.EXT]
FMS=[DRIVE:][\PATH\][FILENAME][.EXT]
LOPT=(ON/OFF)
LOG=[DRIVE:][\PATH\][FILENAME][.EXT]
Where [DRIVE:][PATH\][FILENAME][.EXT] over rides the
[DRIVE:][\PATH\][FILENAME][.EXT] specified in the INI file.
(NOTE: THIS FEATURE CAN BE DISABLED IN THE INITIALIZATION FILE!)
See the section "Initialization File System Section" for more
information on overrides.
(C) Copyright 1991, JONCO Systems and Software 11
3.2 Command Line Options 3.2 Command Line Options
3.2.1 Video, /vxxxx 3.2.1 Video, /vxxxx
/vxxxx Controls video writes where xxxx can be (BIOS, FAST, SNOW),
need not be in caps and you may use only the first letter.
/vBIOS or /vB TMakeFFS will use bios calls for all
video writes.
/vSNOW or /vS Required for some old CGA's turns
CGA Snow checking on.
/vFAST or /vF Turns Bios video writes off DEFAULT,
overrides environment variable
restoring the default.
NOTE: Setting the video mode either in the environment or by
the command line options to anything other than the default
can seriously impede performance!
TMakeFFS fully supports 43/50 line EGA/VGA text modes, further than
that it should support any text mode your video card can muster up it
works just fine on my vga card at 132X60 using all 60 lines, although
the characters are a bit small and a little difficult to read!
(TMakeFFS actually never uses the last two lines in any mode!) TMakeFFS
uses the video mode that is active when it loads, it never changes
video modes!
3.2.2 EMS /xNNNNN 3.2.2 EMS /xNNNNN
/xNNNNN Controls amount of expanded memory to allocate, where
NNNNN is the number of Kbytes to allocate. Regardless of EMS version
/x0 or /x w/o value turns use of expanded memory completely off, the
default is ON. TMakeFFS only EMS to store and sort information about
files, not subdirectories!
With LIM-EMS 3.2 TMakeFFS defaults to using all available memory
with this switch you may limit the maximum it uses.
With LIM-EMS 4.0 TMakeFFS defaults to 16K and allocates more as it
is needed. The /x switch maybe used in this case to reserve (i.e.
preallocates) an amount of memory for TMakeFFS to use. With EMS 4.0
TMakeFFS will always try to extend it's allocation of expanded memory
by 16K before it fails!
Expanded memory requirements may be calculated as:
KBytes = ((([MAX. Number Files] + 860) DIV 861) + 1) * 16
(C) Copyright 1991, JONCO Systems and Software 12
NOTE: Memory permitting a substantial performance improvement may be
gained by turning EMS usage OFF! Use of EMS memory degrades performance
20-50% on various systems, this has proven in testing to be largely due
to the overhead of the EMS driver. I will now admit to having actually
used Borlands Turbo Profiler. Hey there's a first time for everything!
I honestly didn't think it was anything I did, just had to make sure
(Excluding DOS calls the slowest instruction proved to be the EMM call,
INT 67h!) Different EMS drivers and/or hardware from various vendors
will no doubt give various results.
3.2.3 Alternate Initialization File 3.2.3 Alternate Initialization File
You may also specify the Drive:\Path\FileName.Ext of the
initialization file any where on the command line....
EXAMPLE #1
D:\RBBS > D:\RBBS\UTIL\TMakeFFS /vF [Drive:\Path\FileName.Ext]
EXAMPLE #2
D:\RBBS > D:\RBBS\UTIL\TMakeFFS [Drive:\Path\FileName.Ext] /vF
EXAMPLE #3
D:\RBBS > D:\RBBS\UTIL\TMakeFFS C:\Board1\TMakeFFS.Ini
If only the path is specified then the default drive and file name
TMakeFFS.Ini is used, if only the drive is specified (C:FileName.Ext)
then the default directory on that drive is used.
NOTE: The TMakeFFS attempts to open the initialization file Read-
Only Deny-Write access for network compatibility.
3.3 Initialization File System Section 3.3 Initialization File System Section
The TMakeFFS initialization file is a flat ASCII text file, anyone
familiar with MS-Windows INI files will see a number of similarities!
Any text editor in NON-DOCUMENT mode will be sufficient for editing.
The rules are few and simple, all commands enclosed in brackets must be
in upper-case! You may include blank lines and comments almost anywhere
in the file.
3.3.1 Comments and Blank Lines 3.3.1 Comments and Blank Lines
Comments are defined as any text following a semicolon ";". For
example If you wanted to embed printer control codes you could
immediately following the [TFMS_SYSTEM] (See System Section) place
";control codes"
Example:
[TFMS_SYSTEM];(codes for printer to do compressed print)
(C) Copyright 1991, JONCO Systems and Software 13
Blank lines may be inserted any where in the initialization file
after the first line!
3.3.2 System Section 3.3.2 System Section
First up the first line must contain the text "[TFMS_SYSTEM]"
(Must include the brackets) with out any leading characters, may
however be followed with a comment. It is in this section you tell
TMakeFFS where to find files it needs and where to put the files it
builds. TMakeFFS stops processing a line when it reaches the end of
line (of course) or a comment!
3.3.2.1 NOENV 3.3.2.1 NOENV
NOENV
Turns all environment variable overrides off (Except Video)! This
option can be located anywhere in the system section! The default is
allow overrides.
NOTE: Evaluation version ignores this option!
3.3.2.2 CAT 3.3.2.2 CAT
CAT=[Drive:][\Path\][FileName][.Ext]
Specifies location of CAT.DIR file. Not currently used by TMakeFFS
but may be used by another utility program in the future!
3.3.2.3 LIDX 3.3.2.3 LIDX
LIDX=[Drive:][\Path\][FileName][.Ext]
Specifies location of LIDX.DEF file. This parameter may be
overridden by environment variable, unless NOENV option is set!
NOTE: LIDX file location must be specified somewhere in order for
TMakeFFS to do it's job!
3.3.2.4 LOPT 3.3.2.4 LOPT
LOPT=(ON/OFF)
This option if set ON instructs TMakeFFS to create the smallest
possible LIDX file. Firstly it does not create an LIDX record for
subdirectories that contain no files (Possibly your upload directory).
Secondly especially useful if file list are used it attempts to match
the specified macro/subdirectory with an already defined LIDX record!
(See FileSpecs and wild-cards!) The default for this option is OFF!
This parameter may be overridden by environment variable, unless NOENV
option is set!
NOTE: Evaluation version ignores this option!
(C) Copyright 1991, JONCO Systems and Software 14
3.3.2.5 FIDX 3.3.2.5 FIDX
FIDX=[Drive:][\Path\][FileName][.Ext]
Specifies location of FIDX.DEF file. This parameter may be
overridden by environment variable, unless NOENV option is set!
NOTE: FIDX file location must be specified somewhere in order for
TMakeFFS to do it's job!
3.3.2.6 FIDXT 3.3.2.6 FIDXT
FIDXT=[Drive:][\Path\][FileName][.Ext]
Optionally specifies location of optional FIDXT.DEF file. The only
time I can see that you wouldn't want to use this option is if you have
more than 65535 files in your FIDX.DEF file, since the definition by
RBBS is an array of word size pointers the limits are 0..65535 and
apparently RBBS does not use zero! This parameter may be overridden by
environment variable, unless NOENV option is set!
3.3.2.7 FMS 3.3.2.7 FMS
FMS=[Drive:][\Path\][FileName][.Ext] of FMS.DIR file.
Optionally specifies location of FMS.DIR file. This is optional to
TMakeFFS. If specified however TMakeFFS will scan the FMS.DIR file and
any files it chains to, and verify that all files listed are available
in the file specs given. If the file listed in the FMS.DIR file cannot
be found TMakeFFS will place an asterisk immediately following the date
(See also OFFLN and LOG). If a file was previously missing and is now
present TMakeFFS will change the asterisk back to a space. This
parameter may be overridden by environment variable, unless NOENV
option is set!
3.3.2.8 OFFLN 3.3.2.8 OFFLN
OFFLN=[Drive:][\Path\][FileName][.Ext] of file.
Optionally specifies a macro file to associate with any files
found to be missing from the FMS.DIR file! If specified any files that
are found to be off-line are added to FIDX.DEF file with it's location
being the macro file!
3.3.2.9 LOG 3.3.2.9 LOG
LOG=[Drive:][\Path\][FileName][.Ext] of log file.
Optionally specifies a log file to create. If specified a VERY
DETAILED log file is created! If FMS is specified will contain in it's
[FMS] section a list of files that are off-line and in it's [FIDX]
section it will contain a list of files that are missing from the
FMS.DIR file (in FIDX order). See Chapter on Reading the Log File for
more details! This parameter may be overridden by environment variable,
unless NOENV option is set!
NOTE: Evaluation version ignores this option!
(C) Copyright 1991, JONCO Systems and Software 15
3.3.3 File Specs Section 3.3.3 File Specs Section
In this section denoted by the command "[FILESPECS]" you are
telling TMakeFFS where to search for files while building the FIDX.DEF
file. TMakeFFS supports macros embedded in a list of files and also
indirectly supports file name wild-card's (See alternate form file
list).
3.3.3.1 Subdirectories 3.3.3.1 Subdirectories
In order to instruct TMakeFFS to include all files in a given
subdirectory you simply give it the [Drive:][\Path\] to search for
files. Special note: THIS PATH MUST BE TERMINATED WITH A "\" (Wild-
cards are not permited!)
EXAMPLES:
C:\TP\
C:\TP\RTL\
These would include all files in the subdirectories C:\TP\ and
C:\TP\RTL\, simple right!
3.3.3.2 Macros 3.3.3.2 Macros
The implementation of macro's is easy to setup and maintain
especially with the added utility TMkFList, discussed in detail in a
later chapter. Basically instead of [Drive:][\Path\] used to search
subdirectories you insert M!=[Drive:][\Path\][FileName][.Ext] of a list
of files whose first line contains "M!
[Drive:][\Path\][FileName][.Ext]" where
[Drive:][\Path\][FileName][.Ext] is the Drive:\Path\FileName.Ext of the
macro to execute for up/downloads!
For example if the initialization file contained the following
line. NOTE: The use of the "=" in the initialization file.
M!=C:\Tp\Source\TMakeFFS\FileList.Dat
and C:\Tp\Source\TMakeFFS\FileList.Dat contained the following text.
NOTE: The absence of the "=" in the file list, there must be a space
following the "M!", further note that the file list MAY NOT CONTAIN ANY
BLANK LINES OR COMMENTS, THE LIST OF FILES MAY NOT CONTAIN ANY DRIVE
AND/OR DIRECTORY SPECIFIERS EITHER! (NO WILD-CARD'S ALLOWED)
M! C:\RBBS\BUG_OFF.MCR
GORILLA.BAS
MONEY.BAS
NIBBLES.BAS
REMLINE.BAS
ASSIGN.COM
COMMAND.COM
(C) Copyright 1991, JONCO Systems and Software 16
TMakeFFS would open the file C:\Tp\Source\TMakeFFS\FileList.Dat and
read in the first line "M! C:\RBBS\BUG_OFF.MCR", make an LIDX record
for that line and then proceed to read the rest of the file attaching
the macro defined by the first line to all file names in the rest of
the list. So if someone called your system and tried to upload a file
"COMMAND.COM" RBBS would execute the macro "C:\RBBS\BUG_OFF.MCR" and in
this particular example if it was my system that macro would log them
off immediately and eighty-six their ability to ever log on again (i.e.
lifetime ban from system)! However other examples might just retrieve
the file from a tape drive (i.e. download request) or tell the caller
you don't want that particular file (i.e. upload request)!
3.3.3.3 Subdirectories w/wild-card's 3.3.3.3 Subdirectories w/wild-card's
TMakeFFS DOES NOT DIRECTLY implement the use of wild-cards for
file searches! It does support a variation of a macro file list that
can be implemented in such a way as to emulate the use of wild-card's.
The distinguishing characteristic is the first line of the file list,
see example below.
D! C:\DOS5\
GORILLA.BAS
MONEY.BAS
NIBBLES.BAS
REMLINE.BAS
ASSIGN.COM
COMMAND.COM
Did you spot the difference? Note in the prior example on macro's
the first line started with "M! ". Here the "D! " tells TMakeFFS to
attach files in the list to the directory "C:\DOS5\" as if the
initialization file itself had the entry "C:\DOS5\" with the exception
that only the files in the list are added to the FIDX.DEF file
(TMakeFFS does not check if the file really exist in the specified
directory) as opposed to all files in the directory if "C:\DOS5" were
specified in the initialization file! I know your thinking "Well this
isn't going to be easy to maintain!", but it is! TMkFList.Exe will make
both forms of file list for you and YES, IT DOES ACCEPT WILD-CARD'S, so
be sure you read the chapter on "Utilities - TMkFList"!
(C) Copyright 1991, JONCO Systems and Software 17
(C) Copyright 1991, JONCO Systems and Software 18
Chapter 4Chapter 4
Utilities - TMkFListUtilities - TMkFList
TMkFList, "Turbo Make File List" version 1.01
(C) Copyright 1991, JONCO Systems and Software
To facilitate the building and/or rebuilding of file list used in the
construction of the FMS Fast File System, you may need to use the
supplied utility program TMkFList.Exe. No secrets or tricks to this one
its really quite straight forward. Firstly no configuration file is
needed its controlled completely by the command line and requires a
minimum of four parameters.
TMkFList [File_List] [Macro] [Path] [FileSpec] ([FileSpec]...)
Where: [File_List] is complete Drive:\Path\FileName.Ext of file
list to create.
[Macro] is complete Drive:\Path\FileName.Ext of
MACRO file to embed in file list.
You may also use an option here /d
This option forces the file list to embed
the directory name as D! instead of a macro
file name M!
[Path] is complete Drive:\Path\ to search for
files.
[FileSpec] is the search spec used for files (*.Bat
*.Zip).
*** If Drive and/or Path is omitted the default drive and/or ***
*** path is used (if the default for D: is games and you ***
*** specified D:. for the search directory then all files ***
*** matching D:\GAMES\*.Zip would be added to the list) ***
(C) Copyright 1991, JONCO Systems and Software 19
EXAMPLE:
If Default drive is C: and the directory \TEMP\ and Drive D: was
D:\MACRO then:
TMkFList ALIST.MCR D:LIMIT.MCR \DOS *.C* *.EXE *.SYS
This would create a file C:\TEMP\ALIST.MCR, the first line of the
file would be:
M! D:\MACRO\LIMIT.MCR
------------- C:\TEMP\ALIST.MCR might look like this ------------
M! D:\MACRO\LIMIT.MCR
ASSIGN.COM
COMMAND.COM
DISKCOPY.COM
.
.
ATTRIB.EXE
BACKUP.EXE
CHKDSK.EXE
.
.
DRIVER.SYS
EGA.SYS
HIMEM.SYS
-----------------------------------------------------------------
ALTERNATE FORM:
TMkFList BLIST.MCR /D E:\UPLOAD *.ARC *.PAK *.ZIP
This would create a file C:\TEMP\BLIST.MCR, the first line of the
file would be:
D! E:\UPLOAD\
------------- C:\TEMP\BLIST.MCR might look like this ------------
D! E:\UPLOAD\
4DOS303P.ZIP
PDOXTOOL.ARC
PDPASCAL.PAK
.
.
TINYC.ARC
ABACKUP.PAK
EXE2ROM.ZIP
-----------------------------------------------------------------
(C) Copyright 1991, JONCO Systems and Software 20
The following lines the file would contain all file names in the
C:\DOS directory that match the criterion *.C*, *.EXE and *.SYS
(special note TMkFList ignores Volume Id, any file with the System
Attribute set and ALL Directory Names including current "." and
parent ".." ).
Assume the TMakeFFS.Ini file contained in the filespec section
M!=C:\TEMP\ALIST.MCR in addition to other file list macros, the
following batch file less the "comments" I've added maybe appropriate:
Echo Off
Cd C:\Temp
Cd D:\Macro
TMkFList ALIST.MCR D:LIMIT.MCR \DOS *.C* *.EXE *.SYS
If ErrorLevel == 3 Goto BADDIR "Directory C:\DOS not found!"
If ErrorLevel == 2 Goto IOERR "Write Fault! Disk maybe full?"
"or Existing file is Read-Only!"
If ErrorLevel == 1 Goto PARAMS "Parameters at least four required!"
TMkFList BLIST.MCR D:GET_LOST.MCR \PRIVATE *.*
.
.
.
TMakeFFS
.
.
.
:QUIT "End of Batch File"
(C) Copyright 1991, JONCO Systems and Software 21
(C) Copyright 1991, JONCO Systems and Software 22
Appendix AAppendix A
EXAMPLE: TMakeFFS.INIEXAMPLE: TMakeFFS.INI
[TFMS_SYSTEM] ;This line is required and must be
;the first line in the INI file
;This file may contain comments just
;about anywhere comments are preceded
;with a semicolon. Processing of each
;line ends on the first white space
;char (spaces, tabs) or the beginning
;of a comment! Blank lines are OK!!!
;CAT=DIR.CAT ;CAT= is unused but not illegal
;you can use this for your own note
;keeping purposes
LIDX=G:\LIDX.DEF ;[DRIVE:\PATH\FILENAME] of LIDX file
;this is the only required parameter
;in the INI file
LOPT=ON ;Turns on automatic optimization of
;LIDX file. Simply stated that means
;that location entries that do not
;contain any files are not written
;to the LIDX file, thus reducing
;the size of the file saving valuable
;disk space.
;NOTE: Requires registration
;activation key.
FIDX=G:\FIDX.DEF ;[DRIVE:\PATH\FILENAME] of FIDX file
;If omitted then a new FIDX is not
;written!
FIDXT=G:\FIDXT.DEF ;[DRIVE:\PATH\FILENAME] of FIDXT file
;If omitted then a new FIDXT is not
;written! NOTE: Ignored if FIDX is
;not set also!
FMS=G:\FMS.DIR ;[DRIVE:\PATH\FILENAME] of FMS.DIR file
;If omitted then a new FIDXT is not
;written!
;NOTE: Chaining FMS files requires
;registration activation key
(C) Copyright 1991, JONCO Systems and Software 23
OFFLN=G:\OFFLINE.MCR ;[DRIVE:\PATH\FILENAME] of MACRO to
;Associate with off-line files in FMS
;file. If omitted off-line files in
;FMS are not added to FIDX.
;NOTE: Requires registration
;activation key.
LOG=G:\TMakeFFS.Log ;[DRIVE:\PATH\FILENAME] of log file
;to write information about duplicate
;file names, off-line file names etc.
;NOTE: Requires registration
;activation key.
NOENV ;Turns off processing of environment
;variable overrides!
;NOTE: Requires registration
;activation key.
[FILESPECS]
M!=T:\UNITS\FIDX\FILELIST.DAT
;NOTE THE USE OF M!= the = is required
;here! SEE EXAMPLE OF FILELIST.DAT
;FOLLOWING THIS SECTION
;NOTE: Requires registration
;activation key.
C:\TP\ ;NOTE: Path must terminate with "\"
C:\TP\RTL\ ;If you need to specify specific files
D:\GAMES\ ;using wild cards you must use a MACRO,
D:\ZIP\ ;see UTIL.DOC for use of TMkFList.Exe
E:\PDOX35\
E:\QM42\
E:\QPRO\
E:\SPRINT\
E:\WORK\CPU\
E:\WORK\EVEREX\
E:\WORK\IBM\
E:\WORK\USO\
F:\BORLANDC\
F:\BORLANDC\CRTL\
F:\TASM\
F:\TD\
F:\TPROF\
F:\TPW\
F:\TPW\RTL\
F:\WINDOWS\
(C) Copyright 1991, JONCO Systems and Software 24
Appendix BAppendix B
EXAMPLE: FILE LISTEXAMPLE: FILE LIST
B.1 Macro File List B.1 Macro File List
First line must be M![Space][Drive:\Path\FileName.Ext] of the
macro to associate with the file names in this list or
D![Space][Drive:\Path\] of the directory to associate with the file
names in this list. Second and succeeding lines are filespecs, NO BLANK
lines are permitted! TMakeFFS does not test if file names are valid
file names except that file names must be 12 characters or shorter, if
file name is longer than 12 characters it is truncated!
-------------- BEGIN OF SAMPLE FILELIST --------------
M! UNWANTED.MCR
ML.BAT
NET.BAT
OPATH.BAT
ADDPATH.BAT
SORTDIR.BAT
KC.BAT
SPROMPT.BAT
LOGIN.BAT
TB.BAT
LOGOFF.BAT
USET.BAT
MC.BAT
MKARC.BAT
------------------------------------------------------
B.2 File List Alternate Form of B.2 File List Alternate Form of
The alternate form of File List allows the you to selectively use
subdirectories.
------------- ALTERNATE FORM OF FILELIST -------------
D! C:\BAT\
ML.BAT
NET.BAT
OPATH.BAT
ADDPATH.BAT
SORTDIR.BAT
KC.BAT
(C) Copyright 1991, JONCO Systems and Software 25
SPROMPT.BAT
LOGIN.BAT
TB.BAT
LOGOFF.BAT
USET.BAT
MC.BAT
MKARC.BAT
(C) Copyright 1991, JONCO Systems and Software 26
Appendix CAppendix C
Reading the Log FileReading the Log File
The following log file example is by no means complete it has been
cutup severely. Significant points of interest have been left in, as
well as some notes have been added!
------------------- SAMPLE LOG FILE ------------------------
TMakeFFS, "Turbo MAKE Fast File System", version 1.07 BETA
(C) Copyright 1991, JONCO Systems and Software, P.O.Box 823073
Serial#: BETA TEST Registered to: UNREGISTERED VERSION
BETA TEST VERSION NOT FOR DISTRIBUTION
[LOGFILE]
LOG FILE: G:\TMAKEFFS.LOG
CREATION DATE: Thursday October 17, 1991
TIME: 09:41:32 PM
INIT FILE: T:\UNITS\FIDX\TMAKEFFS.INI
LIDX: G:\LIDX.DEF
LOPT: ON
FIDX: G:\FIDX.DEF
FIDXT: G:\FIDXT.DEF
FMS: G:\FMS.DIR
[LIDX]
OFF-LINE: M! T:\UNITS\FIDX\OFFLINE.MCR 1
Note: This is the LIDX.DEF record number ^ Note: This is the LIDX.DEF record number ^
File List: M!=T:\UNITS\FIDX\FILELIST.MCR
MACRO: M! T:\UNITS\FIDX\UNWANTED.MCR 2
26 files added to FIDX.
File List: M!=T:\UNITS\FIDX\MACRO.MCR
MACRO: M! TRASHEM.MCR 3
1 files added to FIDX.
File List: M!=T:\UNITS\FIDX\AMACRO.MCR
MACRO: M! TRASHEM.MCR 3
1 files added to FIDX.
Note: Same MACRO file names, same LIDX.DEF numbers ^ Note: Same MACRO file names, same LIDX.DEF numbers ^
File List: M!=T:\UNITS\FIDX\AFLIST.MCR
MACRO: C:\SYSTEM\ 4
83 files added to FIDX.
(C) Copyright 1991, JONCO Systems and Software 27
-------------------- EDITED -------------------------------
Directory: C:\SYSTEM\ 4
GORILLA.BAS is in: C:\SYSTEM\
MONEY.BAS is in: C:\SYSTEM\
NIBBLES.BAS is in: C:\SYSTEM\
REMLINE.BAS is in: C:\SYSTEM\
ASSIGN.COM is in: C:\SYSTEM\
COMMAND.COM is in: C:\SYSTEM\
Note: Possible duplicate file names are listed with the original Note: Possible duplicate file names are listed with the original
location! location!
-------------------- EDITED -------------------------------
83 files found.
83 possible duplicate files.
0 files added to FIDX.
-------------------- EDITED -------------------------------
Directory: C:\TP\DEMOS\TCALC\ ****
Note: Indicates no LIDX.DEF record generated ^^^^ Note: Indicates no LIDX.DEF record generated ^^^^
-------------------- EDITED -------------------------------
New LIDX file has 257 records
3760 files found.
392 possible duplicate files.
3368 files added to FIDX.
Note: TMakeFFS only reports duplicate file names it does test file Note: TMakeFFS only reports duplicate file names it does test file
date/time stamps, sizes or contents! date/time stamps, sizes or contents!
[FMS]
FMS FILE: G:\FMS.DIR
Record Size: 81
Description Length: 43
File is off-line => FIDX.TMP
File is off-line => FIDXT.TMP
File is off-line => FMS.TMP
File is off-line => LIDX.TMP
4 files offline
Note: Files in FMS not found in specified directories Note: Files in FMS not found in specified directories
[FIDX]
File not in FMS => C:\TP\UNITS\FIDX\FIDX.ORG
File not in FMS => C:\TP\UNITS\FIDX\FIDXT.ORG
File not in FMS => C:\TP\UNITS\FIDX\FMS.ORG
File not in FMS => C:\TP\UNITS\FIDX\LIDX.ORG
3372 records written, 4 files missing from FMS!
Note: Files found in specified directories but missing from FMS Note: Files found in specified directories but missing from FMS
[END REPORT]
(C) Copyright 1991, JONCO Systems and Software 28
Appendix DAppendix D
Error Level Exit CodesError Level Exit Codes
1 - Cannot Locate Init File [TMakeFFS.Ini]
TMakeFFS could not find the default init file or
the init file specified on the command line.
2 - Invalid Init File
The default init file or the init file specified on
the command line is invalid.
(The first line is not [TFMS_SYSTEM])
3 - Invalid/Unknown Command in Init File
Unable to parse the command in the init file.
Probably caused by a missing [;] preceding comment
text.
4 - Missing required command LIDX=
LIDX file must be specified either in environment or
in Init file. Possible cause Init file contains NOENV
command and does not contain a
LIDX=Drive:\Path\FileName.Ext.
5 - Missing required command FIDX=
FIDX file must be specified either in environment or
in Init file. Possible cause Init file contains NOENV
command and does not contain a
FIDX=Drive:\Path\FileName.Ext.
6 - Insufficient memory to continue processing
Conventional memory (below 640K) full too many
subdirectories and/or files and EMS is either not
available or turned off. Make more memory available,
make EMS available or combine subdirectories.
7 - Unable to reallocate or Insufficient EMS memory
If EMS 4.0 there are no more free pages available,
If EMS 3.2 there either wasn't enough EMS available
to begin with or command line option restricted the
maximum to low.
8 - Out of memory resources
Insufficient conventional memory for temporary EMS
page lock record. Make more conventional memory
available or combine subdirectories and/or file
list macros. (Reducing size of environment by as
(C) Copyright 1991, JONCO Systems and Software 29
little as 16 bytes might do the trick!)
9+ - Unexpected unrecoverable error code XXX
I really don't think this can happen, it never has
to date! Could indicate a hardware failure though
(See following!)
Possible DOS related error codes
100- Disk Read Error
101- Disk Write Error (NOTE: TMakeFFS will first attempt
to turn off Log File and erase
it to free disk space before
terminating with this error.)
150- Disk is write protected
151- Unknown Unit
152- Drive not ready
154- CRC error in data
156- Disk Seek Error
157- Unknown Media Type
158- Sector not found
160- Device write fault
161- Device read fault
162- Hardware failure
(C) Copyright 1991, JONCO Systems and Software 30